home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 12 / Cream of the Crop 12 (Part II) / Cream of the Crop 12 (Part II).iso / OS2 / BE.ZIP / bememext.h < prev   
Encoding:
C/C++ Source or Header  |  1996-04-01  |  1.6 KB  |  54 lines

  1. //
  2. // bememext.h - Interface needed by implementors of BE memory extension helpers
  3. //
  4. // Despite both BE and the helpers being implemented in C++, I use a C
  5. // style interface. This avoids name mangling problems.
  6. //
  7. // The bemem_init entrypoint will be called before any other entrypoint.
  8. // If bemem_init fails, then it should set err to point to some meaningful
  9. // static error string, and return FALSE.
  10. //
  11. // For every non-0 bemem_create, BE will later call bemem_delete.
  12. // If bemem_create fails, then it should set err to point to some meaningful
  13. // static error string, and return (void *) 0.
  14. //
  15. // After all bemem_deletes, bemem_term will be called (last).
  16. //
  17. // If the memory extension helper is caching data (presumably for speed),
  18. // then it should discard this cache if bemem_refresh is called.
  19. //
  20.  
  21. #ifndef BEMEM_H
  22. #define    BEMEM_H
  23.  
  24. #ifndef Boolean_DEFINED
  25. #define    Boolean_DEFINED
  26. typedef int Boolean;
  27. #define    TRUE  1
  28. #define FALSE 0
  29. #endif
  30.  
  31. #if   defined(OS2)
  32. #define    BEMEMEXPORT
  33. #define    BEMEMENTRY EXPENTRY
  34. #elif defined(WIN32_READY)
  35. #define    BEMEMEXPORT __declspec(dllexport)
  36. #define    BEMEMENTRY __stdcall
  37. #else
  38. #define    BEMEMEXPORT
  39. #define    BEMEMENTRY
  40. #endif
  41.  
  42. extern "C" {
  43.  
  44. BEMEMEXPORT Boolean BEMEMENTRY bemem_read(void * ptr, unsigned addr, unsigned char & b);
  45. BEMEMEXPORT void    BEMEMENTRY bemem_refresh(void *ptr);
  46. BEMEMEXPORT void *  BEMEMENTRY bemem_create(const char *args, unsigned addr, char *(&err));
  47. BEMEMEXPORT void    BEMEMENTRY bemem_delete(void * ptr);
  48. BEMEMEXPORT Boolean BEMEMENTRY bemem_init(char *(&err));
  49. BEMEMEXPORT void    BEMEMENTRY bemem_term();
  50.  
  51. }
  52.  
  53. #endif
  54.